package com.nlgc365.designpattern.Chapter02_Principle.P01_SRP.CounterExample2;

/**
 * 反例2: 违反单一职责原则
 * 场景: 某东电商网站会员有不同的级别
 * 1, 普通登录会员
 * 2, Plus会员
 * 价格优惠不同
 * 1, 游客和普通/Plus会员有9.5折
 * 2, 有特供商品
 * 3, 免运费
 */
public class UserService {
    /**
     * 根据用户类型给不同的价格折扣
     *
     * @param userType   用户类型
     * @param totalPrice 价格
     * @param discount   折扣
     * @return 折扣后的价格
     */
    public Double getPrice(Integer userType, Double totalPrice, Double discount) {
        if (userType == 1) {
            return totalPrice;
        } else if (userType == 2) {
            return totalPrice * discount;
        } else if (userType == 3) {
            return totalPrice * discount * 0.99;
        } else {
            return totalPrice;
        }
    }
}
